#pragma once 

#include "Vectors.h"
#include "Serializable.h"

class TurnGenerator : public Serializable
{
public:

	typedef std::pair<int,int> Couple;
	typedef std::vector<Couple> Couples;

	void Clear();
	void Initialize(const size_t i_numTeams);
	
	void GetTurnNumber(const unsigned int i_turn_numb,Couples& o_out)  const;

	virtual	ZStream& Serialize(ZStream& o_stream);
	virtual ZStream& Deserialize(ZStream& i_stream);

private:

	IntVec m_scramble;
	std::vector<Couples> m_data;
};

void TestTurnSystem();